package com.amumu.drama.model;

import cn.hutool.json.JSONObject;
import com.amumu.drama.common.config.HutoolJacksonTypeHandler;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@TableName(value = "pms_product_template", autoResultMap = true)
public class PmsProductTemplate implements Serializable {
    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "直充模板ID")
    @TableField(value = "direct_template_id")
    private String directTemplateId;

    @ApiModelProperty(value = "模板名称")
    @TableField(value = "template_name")
    private String templateName;

    @ApiModelProperty(value = "模板类型（direct-直充 custom-自定义）")
    @TableField(value = "type")
    private String type;

    @ApiModelProperty(value = "游戏ID")
    @TableField(value = "product_category_id")
    private Long productCategoryId;

    @ApiModelProperty(value = "自定义模板字段")
    @TableField(value = "custom_template_field", typeHandler = HutoolJacksonTypeHandler.class)
    private JSONObject customTemplateField;

    @ApiModelProperty(value = "直充模板字段")
    @TableField(value = "direct_template_field", typeHandler = HutoolJacksonTypeHandler.class)
    private JSONObject directTemplateField;

    @ApiModelProperty(value = "直充模板变更提醒（0-未变更 1-变更）")
    @TableField(value = "direct_change_status")
    private Integer directChangeStatus;

    @TableField(value = "delete_status")
    private Integer deleteStatus;

    @TableField(value = "create_time")
    private LocalDateTime createTime;


}